Field of the Disclosure
This application relates generally to processing systems, and, more particularly, to an interface for coupling flash memory and dynamic random access memory in processing systems.
Description of the Related Art
Processing systems use memory to store data or instructions for later use. For example, processing devices such as central processing units (CPUs), graphics processing units (GPUs), and accelerated processing units (APUs) can read instructions or data from memory, perform operations using the instructions or data, and then write the results back into the memory. Processing systems can implement different types of memory to store information. For example, non-volatile memory can be used for long-term storage of information because non-volatile memory retains information even when power is not supplied to the memory elements. In contrast, volatile memory requires a constant supply of power to retain information. Different types of memory are also distinguished on the basis of their memory storage density, which is equal to the memory capacity of the medium divided by the length, area, or volume of the memory element. Different types of memory may also have different bandwidths or speeds for read or write access and different latencies for memory accesses.
Dynamic random access memory (DRAM) is a form of volatile memory that requires periodic re-writing to retain information stored in the memory elements. For example, the memory elements in a conventional DRAM are formed of capacitors that need to be periodically refreshed in order to retain the information stored in the memory elements. The data transfer rate for read and write operations to DRAM is typically larger than non-volatile memories such as flash memory. Moreover, the data transfer rate for DRAM can be increased using double pumping wherein data is transferred on both the rising and falling edges of the DRAM clock signal. This type of DRAM may be referred to as double data rate (DDR) DRAM because the data transfer rate is approximately double the rate that can be achieved by transferring data only on the rising or falling edge of the DRAM clock signal.
Flash memory is a form of non-volatile memory that stores information in a floating gate of a transistor. Once the floating gate has been charged, electrons remain trapped in the floating gate and do not discharge for many years. Flash memory comes in two varieties: NOR flash memory and NAND flash memory. A NOR flash memory cell has one end of its transistor connected directly to ground and the other and connected directly to a bit line. The word line of a NOR flash memory cell is connected to the control gate. The sources and drains of floating gate transistors in NAND memory cells are connected in series with the bit lines of the NAND flash memory and word lines are connected to the control gates of the floating gate transistors.